P H P - Personal Home Page
7. daten bearbeiten
7.1 zeichenketten bearbeiten
Wenn seiten mit PHP aufgebaut werden, ist es sehr häufig notwendig, zeichenketten aufzubereiten. Dafür gibt es viele funktionen. Soweit bei den funktionen als argumente zeichenketten anzugeben sind, können diese auch in variablen angegeben werden.
$erg = strlen($kette); | länge einer zeichenkette ermittelt. |
$erg = str_repeat("abc", nn); | zeichenkette erzeugen mit nn-mal abc |
7.1.1 zeichenkette umformen
$erg = strtolower($kette); | alles in kleinbuchstaben |
$erg = strtoupper($kette); | alles in großbuchstaben |
$erg = ucfirst($kette); | erstes zeichen großbuchstabe |
$erg = ucwords($kette); | erstes zeichen aller worte als großbuchstabe |
$erg = strrev($kette); | zeichenkette umdrehen |
$erg = strtr($kette, "a", "A"); | in der zeichenkette alle a zu A |
$erg = strtr($kette, "xy", "AB"); | in der zeichenkette alle x oder y zu A oder B |
$erg = str_replace("abc", "xy", $kette); | in der zeichenkette alle abc zu xy |
$erg = trim($kette); | entfernt ZWR am anfang und ende von $kette |
$erg = ltrim($kette); | entfernt ZWR links, d.h. am anfang von $kette |
$erg = rtrim($kette); | entfernt ZWR rechts, d.h. am ende von $kette |
7.1.2 zeichenkette zerlegen / zusammenfügen
$kette = "das;ist;ein;test";
$feld = explode(";", $kette); | zerlegt in
elemente von $kette, trennzeichen ist ; (strichpunkt). Die teile von
$kette werden im feld $feld abgelegt, das ergibt hier: $feld[0] enthält "das" $feld[1] enthält "ist" usw. |
$kette = implode(".", $feld); | fügt die
elemente von $feld mit trennzeichen punkt zu $kette zusammen. Ergebnis: "das.ist.ein.test" |
$feld = strsplit($kette, 5); | zerlegt $kette in teile mit je 5 zeichen und speichert die teile in $feld. |
7.1.3 teil-zeichenketten bilden
$erg = substr($kette, 3 [, 5]); | von dem zeichen an position 3 bis zum ende von $kette oder maximal 5 zeichen werden in $erg gespeichert. |
$erg = substr($kette, -8 [, 5]); | von dem zeichen an position 8 bis zum anfang von $kette oder maximal 5 zeichen werden in $erg gespeichert. |
$erg = strstr($kette, "Test" [, true] | false ]); | sucht erstes auftreten von "Test" und liefert als
ergebnis ohne zusatz oder mit false: "Test" + rest von $kette mit true: alles von $kette vor "Test", ohne "Test" |
$erg = stristr($kette, "Test" [, true | false ] ); | wie funktion strstr, aber groß/klein-schreibung nicht beachten |
$erg = strchr($kette, "X"); | sucht das erste zeichen X und liefert das zeichen + rest |
$erg = strrchr($kette, "X"); | sucht das letzte zeichen X und liefert das zeichen + rest |
$erg = $kette[5]; | liefert das zeichen an position 5, das geht ohne funktion, einfach durch zuweisung |
7.1.4 position ermitteln
$erg = strpos($kette, "Test" [, 3]); | position von "Test" in $kette, suche von anfang an oder ab position 3. Geliefert wird das erste ergebnis. |
$erg = strpos($kette, "Test" , -20); | position von "Test" in $kette, suche ab position 20 in richtung anfang. Geliefert wird das erste ergebnis. |
$erg = stripos($kette, $such [, $pos]); | wie strpos, aber groß/klein-schreibung nicht beachten |
$erg = strrpos($kette, "Test" [, 3]); | position von "Test" in $kette, suche von anfang an oder ab position 3. Geliefert wird das letzte ergebnis |
$erg = strrpos($kette, "Test" , -20); | position von "Test" in $kette, suche ab position 20 in richtung anfang. Geliefert wird das letzte ergebnis |
$erg = strripos($kette, $such [, $pos]); | wie strrpos, aber groß/klein-schreibung nicht beachten |
hinweis
Bei den funktionen teil-zeichenketten bilden (außer substr)
und position ermitteln enthält das ergebnis eine zeichenkette,
einen numerischen wert oder false, wenn kein brauchbares ergebnis
geliefert wird. Sichere prüfung des ergebnis mit
if ($erg === false) ergebnis nicht brauchbar
if ($erg !== false) ergebnis brauchbar
7.1.5 wordwrap - zeichenkette zerlegen
Die funktion zerlegt eine zeichenkette nach einer wählbaren anzahl von zeichen mit einem zeichen oder einer zeichenkette. Durch eine option kann bestimmt werden, dass worte, die länger sind als die angegebene zeichenlänge zerlegt werden.
$textneu = wordwrap($text, $width, $break, $cut);
$textneu | zeichenkette mit dem ergebnis der funktion |
$text | zeichenkette, die bearbeitet wird |
$width | anzahl der zeichen, nach denen die zeichenkette zerlegt wird. |
$break | zeichen oder zeichenkette; damit wird die zeichenkette zerlegt. |
$cut | steuert die zerlegung |
true | worte, die länger sind als $width werden durch $break zerlegt. Folgen worte aufeinander, die zusammen länger als $width sind, wird vor dem folgewort zerlegt. |
false | es werden keine worte zerlegt. |
achtung Die funktion hat eine schwäche, wenn die zeichenkette im Unicode codiert ist und 2-byte-zeichen enthält (geschlossene umlaut, €, §, °, ², ³, µ siehe 8.9) wertet die funktion diese zeichen als zwei zeichen und zerreißt ggf. ein solches zeichen zu zwei nicht darstellbaren zeichen. Im Internet wurde die funktion wordwrap_utf8 gefunden, die mit diesen zeichen kein problem hat, ziemlich stur mit der angegebenen zeichenlänge zerlegt, dabe aber nicht immer ganz sauber zählt.
beispiel
Man beachte, wie von wordwrap das letzte wort zerlegt wird: der erste teil enthält scheinbar nur 7 zeichen, in wirklichkeit sind es aber 10, den die zeichen äöü sind jeweils 2-byte-zeichen. Weil die zeichen ÄÖÜ ebenfalls 2-byte-zeichen sind, liegt die trennstelle mitten in dem zeichen Ö, das in zwei schmierzeichen zerrissen wird.
1234567890
1234567890
xx yy zz
aaaaaaa
12äöüxx
890aaaaÄÃ
–Ãœaaa
Das beispiel beisp-7-1.php zeigt alles noch ein wenig ausführlicher und zudem auch mit der funktion wordwrap_utf8
beispiel download
H T M L |
C S S |
p h p |
My S Q L |
JAVASCRIPT |
impressum
Für den inhalt der homepage hartard-bernhard.de
ist im sinne des pressegesetzes verantwortlich:
Bernhard Hartard
Gerhart-Hauptmann-Ring 18
81737 München
089 / 670 39 90
familie.hartard@t-online.de
salvatorische erklärung
Die seiten meiner homepage enthalten links
zu anderen seiten im Internet, auf deren gestaltung und inhalt ich
keinen einfluss habe. Ich übernehme keine gewähr für den inhalt der
verlinkten seiten, rechtsverstöße waren für mich zum zeitpunkt der
verlinkung auf diesen seiten nicht erkennbar, eine ständige inhaltliche
kontrolle der verlinkten seiten ist mir weder möglich noch zumutbar.
Aus rechtlichen gründen distanziere ich mich ausdrücklich vom inhalt
der verlinkten seiten und mache mir deren inhalt nicht zu eigen.
Diese erklärung gilt für alle auf meinen seiten angezeigten links.
CLOSE anzeige schließen
start
Damit startet die homepage neu, d.h. der Steinbeisser treibt wieder sein unwesen.
anfang
Hier beginnen die informationen dieser homepage
zur person
Hier findet man informationen zur person des verfassers dieser homepage, wer er ist, woher er kommt, was er gelernt hat und was er im verlauf seines lebens so getrieben hat.
spiele
Hier finden man einige spiele, aber keine wüsten ballerspiele, sondern einige echte knobeleien (hirn-jogging), zwei gesellschaftsspiele (Mensch ärgere Dich nicht, Kniffel) und das spiel aller frechen schüler: schiffe versenken.
galerien
Ein wenig heimatliebe muss erlaubt sein und deshalb findet man hier einige bildergalerien von Speyer und von seinem Dom.
backbuch
Das ist eine sammlung von backrezepten, aus verschiedenen quellen zusammengetragen und fast alle mit mehr oder weniger erfolg ausprobiert. Da findet man in den endlosen weiten des Internet natürlich mehr und besseres.
stammbaum
Das gehört eigentlich in den privaten bereich dieser homepage, denn hier wird der stammbaum des verfassers der homepage gezeigt. Weil aber beim testen der anwendung auch der stammbaum der Wittelsbacher entstanden ist, wurde beides hier veröffentlicht. Vielleicht interessiert es jemand.
exit
Hier kann man Google oder eine beliebige seite im Internet aufrufen oder diese homepage verlassen.
kontakt
Hier kann man dem verfasser und eigentümer der homepage eine email schreiben.
privat
Hier kommt man in den privaten bereich der homepage, besser gesagt, man kommt da nicht hinein, denn dieser bereich ist geschützt und nur dem eigentümer der homepage zugänglich.
doku
Hier sind die programmiertechniken dokumentiert, mit deren hilfe die homepage gebastelt wurde. Genauer gesagt man findet hier kurz gefasste bechreibungen von HTML, CSS, MySQL und Javascript. Das findet man im Internet natürlich viel ausführlicher aber für einen ersten einstieg in die seltsame welt der programmierung sind diese beschreibungen durchaus brauchbar.